package org.wikinews.controller;

import java.io.Serializable;
import java.util.List;

import org.jboss.seam.ScopeType;
import org.jboss.seam.annotations.In;
import org.jboss.seam.annotations.Name;
import org.jboss.seam.annotations.Scope;
import org.jboss.seam.annotations.web.RequestParameter;
import org.jboss.seam.faces.FacesManager;
import org.wikinews.model.LinkPatrocinado;
import org.wikinews.repo.LinkPatrocinadoRepo;
import org.wikinews.service.FinanceiroService;

/**
 * Exibe links patrocinados e redireciona para o site externo.
 * 
 * @author leonardo
 *
 */
@Name("linkPatrocinadoCtrl")
@Scope(ScopeType.PAGE)
public class LinkPatrocinadoCtrl implements Serializable {

	private static final long serialVersionUID = 7324011150381978874L;

	@In
	private LinkPatrocinadoRepo linkPatrocinadoRepo;

	@In
	private FinanceiroService financeiroService;

	@RequestParameter
	private Long linkPatrocinadoId;

	private List<LinkPatrocinado> linkPatrocinadoList;

	public Long getLinkPatrocinadoId() {
		return linkPatrocinadoId;
	}

	public List<LinkPatrocinado> getLinkPatrocinadoList() {
		if (linkPatrocinadoList == null) {
			// TODO selecionar apenas os itens relacionados ao post
			linkPatrocinadoList = linkPatrocinadoRepo.getAll();
		}
		return linkPatrocinadoList;
	}

	public void ler() {
		LinkPatrocinado linkPatrocinado = linkPatrocinadoRepo.getPorId(linkPatrocinadoId);

		financeiroService.verLinkPatrocinado(linkPatrocinado);

		FacesManager.instance().redirectToExternalURL(linkPatrocinado.getLink());
	}

}
